State Pattern: Intro
State = 状態
Mecanimなど、アニメーション遷移ステートマシンで
Unity内でもこのパターンは使われている
Animator
個々のアニメーションから簡単な状態グラフを作成
1つのステートから遷移できるステートを定義
Finite State Machine
ファイナイト ステート マシーン
有限の状態を取りうるオブジェクト
遷移条件により、別のステートに遷移する。
https://gyazo.com/5fa4b219e528294d19c92b939dbe7ee1
どの State も必ず3つの段階をもつ
Enter
Update
Exit
コレもStateの一つと言える
https://gyazo.com/63eda4facf58fbd7fa24275f67885351
使われ方の例.
Enter : 追跡モードに入ったときに way point を更新
安直な作り方
if文 や switch 分の組み合わせで簡単に作れる。
https://gyazo.com/bcc1a35a74adc1ca5dbb1b1ddef373dd
stateプロパティを持っていて、それを条件によって変更すればいい
文字列
数値
Enum
うまいやり方
オブジェクト志向では、Stateクラスを作って、
Processメソッドの中身をステージで分岐して作る
https://gyazo.com/3a63f73d32ca9f2fd6162929009d7f6f
オーソドックスなステートマシンクラス
STATE と EVENT(stage)を Enumで定義する。